{
LANG : PASCAL
PROB : humble
}

program HUMBLE;
const
  fi = 'humble.in';
  fo = 'humble.out';
  max = 100;
  maxc = 100000;
var
  p, v : array[1..max] of longint;
  H : array[0..maxc] of longint;
  n, k : longint;

procedure inp;
var
  i : longint;
begin
  read(k, n);
  for i := 1 to k do read(p[i]);
end;

procedure process;
var
  i, j : longint;
  min : longint;
begin
  fillchar(v, sizeof(v), 0);
  H[0] := 1;
  for i := 1 to n do
  begin
    for j := 1 to k do
      while p[j]*H[v[j]] <= H[i-1] do inc(v[j]);
    H[i] := maxlongint;
    for j := 1 to k do
      if H[i] > p[j]*H[v[j]] then H[i] := p[j]*H[v[j]];
  end;
end;

begin
  assign(input, fi); reset(input);
  assign(output, fo); rewrite(output);
  inp;
  process;
  writeln(H[n]);
  close(output);
  close(input);
end.
